/**
 * 
 */
package com.obradovicnjegovan.webprodavnica.pages;

import java.util.ArrayList;
import java.util.List;

import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.corelib.components.Zone;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.Request;

import com.obradovicnjegovan.webprodavnica.components.ProizvodPrikaz;
import com.obradovicnjegovan.webprodavnica.controller.ControllerAL;
import com.obradovicnjegovan.webprodavnica.entities.Kategorija;
import com.obradovicnjegovan.webprodavnica.entities.Proizvod;

/**
 * @author njegovan
 *
 */
public class Catalogue {
	@Inject
	private ControllerAL controllerAL;
	@Property
	private Kategorija kategorija;
	@Property
	private Proizvod proizvod;
	@Persist
	private List<Proizvod> proizvodi;
	@Persist
	private String title;
	
	public List<Proizvod> getProizvodi(){
		return proizvodi;
	}
	public void setProizvodi(List<Proizvod> proizvodi){
		this.proizvodi = proizvodi;
	}
	
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}


	@InjectComponent
	private ProizvodPrikaz proizvodPrikaz;
	@Inject
	private Request request;
	 
	@InjectComponent
	private Zone proizvodiZone;
	
	public List<Kategorija> getKategorije(){
		return controllerAL.pronadjiSveKategorije();
	}

	
	public Object onPrikaziProizvodeKategorije(Kategorija kategorija){
		setTitle(kategorija.getNazivKategorije());
		setProizvodi(new ArrayList<Proizvod>(kategorija.getProizvodi()));
		return proizvodiZone.getBody();
	}
	
	
}